package com.czl.category.dao;


import com.czl.category.entity.CategoryEntity;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Component;

import java.util.List;

@Mapper
@Component
public interface CategoryMapper {
 /**
  * 
  * 添加信息
  * @param categoryEntity
  * @return
  */
	@Insert("insert into tbSystemCode(nCodeId,nParentId,strCityName) values(#{nCodeId},#{nParentId},#{strCityName})")
	int addSystemCode(CategoryEntity categoryEntity);
/**
 * 根据条件信息
 * @param categoryEntity
 * @return
 */
//	非动态sql写法
//	@Select("select * from user_info where user_name like #{userName}")
//	动态sql写法
	@SelectProvider(type= CategoryDynaSqlProvider.class,method="queryCategory")
//	使用注解时 注解实体映射方法
	@Results({
		@Result(id=true,property="strCode",column="strCode"),
		@Result(property="strName",column="strName"),
		@Result(property="strLevel",column="strLevel"),
		@Result(property="strParent",column="strParent"),
		@Result(property="strCodeShort",column="strCodeShort")
	})
	List<CategoryEntity> querySystemArea(CategoryEntity categoryEntity);

//	//	动态sql写法
//	@SelectProvider(type= SystemAreaDynaSqlProvider.class,method="queryCityList")
////	使用注解时 注解实体映射方法
//	@Results({
//			@Result(id=true,property="nCodeId",column="nCodeId"),
//			@Result(property="nParentId",column="nParentId"),
//			@Result(property="strCityName",column="strCityName")
//	})
//	public List<SystemAreaEntity> queryCityList(SystemAreaEntity systemCodeEntity);
//
//	//	动态sql写法
//	@SelectProvider(type= SystemAreaDynaSqlProvider.class,method="queryCountyList")
////	使用注解时 注解实体映射方法
//	@Results({
//			@Result(id=true,property="nCodeId",column="nCodeId"),
//			@Result(property="nParentId",column="nParentId"),
//			@Result(property="strCityName",column="strCityName")
//	})
//	public List<SystemAreaEntity> queryCountyList(SystemAreaEntity systemAreaEntity);

//	/**
//	 * 修改用户信息
//	 * @param userInfo
//	 * @return
//	 */
//	@Update("update user_info set user_name=#{userName},user_sex=#{userSex} where user_id=#{userId}")
//	public int updateUser(UserInfo userInfo);
//	/**
//	 *
//	 * @param userInfo
//	 * @return
//	 */
//	@Select("select * from user_info where user_id = #{userId}")
////	使用注解时 注解实体映射方法
//	@Results({
//		@Result(id=true,property="userId",column="user_id"),
//		@Result(property="userName",column="user_name"),
//		@Result(property="userSex",column="user_sex")
//	})
//	public UserInfo queryUserById(Integer userId);
}
